<!DOCTYPE HTML>
<html lang="zh-CN">


<head>
    <meta charset="utf-8">
    <meta name="keywords" content="PowerPlatform认证备考（3）—— Power Apps介绍, 码道诚公">
    <meta name="description" content="">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <meta name="renderer" content="webkit|ie-stand|ie-comp">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta name="baidu-site-verification" content="code-oqVlgh2wQV" />
    <meta name="google-site-verification" content="Z-8Fm46WY6NL_3kxilmoqToW4jnvyF7boTgciTLBXUs" />
    <!-- Global site tag (gtag.js) - Google Analytics -->


    <title>PowerPlatform认证备考（3）—— Power Apps介绍 | 码道诚公</title>
    <link rel="icon" type="image/png" href="/favicon.png">

    <link rel="stylesheet" type="text/css" href="/libs/awesome/css/all.css">
    <link rel="stylesheet" type="text/css" href="/libs/materialize/materialize.min.css">
    <link rel="stylesheet" type="text/css" href="/libs/aos/aos.css">
    <link rel="stylesheet" type="text/css" href="/libs/animate/animate.min.css">
    <link rel="stylesheet" type="text/css" href="/libs/lightGallery/css/lightgallery.min.css">
    <link rel="stylesheet" type="text/css" href="/css/matery.css">
    <link rel="stylesheet" type="text/css" href="/css/my.css">

    <script src="/libs/jquery/jquery.min.js"></script>

<meta name="generator" content="Hexo 5.2.0">
<style>.github-emoji { position: relative; display: inline-block; width: 1.2em; min-height: 1.2em; overflow: hidden; vertical-align: top; color: transparent; }  .github-emoji > span { position: relative; z-index: 10; }  .github-emoji img, .github-emoji .fancybox { margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; text-decoration: none !important; user-select: none !important; cursor: auto !important; }  .github-emoji img { height: 1.2em !important; width: 1.2em !important; position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; user-select: none !important; cursor: auto !important; } .github-emoji-fallback { color: inherit; } .github-emoji-fallback img { opacity: 0 !important; }</style>
<link rel="alternate" href="/atom.xml" title="码道诚公" type="application/atom+xml">
<link rel="stylesheet" href="/css/prism-tomorrow.css" type="text/css"></head>




<body>
    <header class="navbar-fixed">
    <nav id="headNav" class="bg-color nav-transparent">
        <div id="navContainer" class="nav-wrapper container">
            <div class="brand-logo">
                <a href="/" class="waves-effect waves-light">
                    
                    <img src="/medias/logo.png" class="logo-img" alt="LOGO">
                    
                    <span class="logo-span">码道诚公</span>
                </a>
            </div>
            

<a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a>
<ul class="right nav-menu">
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/" class="waves-effect waves-light">
      
      <i class="fas fa-home" style="zoom: 0.6;"></i>
      
      <span>首页</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/tags" class="waves-effect waves-light">
      
      <i class="fas fa-tags" style="zoom: 0.6;"></i>
      
      <span>标签</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/categories" class="waves-effect waves-light">
      
      <i class="fas fa-bookmark" style="zoom: 0.6;"></i>
      
      <span>分类</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/archives" class="waves-effect waves-light">
      
      <i class="fas fa-archive" style="zoom: 0.6;"></i>
      
      <span>归档</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/about" class="waves-effect waves-light">
      
      <i class="fas fa-user-circle" style="zoom: 0.6;"></i>
      
      <span>关于</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/contact" class="waves-effect waves-light">
      
      <i class="fas fa-comments" style="zoom: 0.6;"></i>
      
      <span>留言板</span>
    </a>
    
  </li>
  
  <li class="hide-on-med-and-down nav-item">
    
    <a href="/friends" class="waves-effect waves-light">
      
      <i class="fas fa-address-book" style="zoom: 0.6;"></i>
      
      <span>友情链接</span>
    </a>
    
  </li>
  
  <li>
    <a href="#searchModal" class="modal-trigger waves-effect waves-light">
      <i id="searchIcon" class="fas fa-search" title="搜索" style="zoom: 0.85;"></i>
    </a>
  </li>
</ul>


<div id="mobile-nav" class="side-nav sidenav">

    <div class="mobile-head bg-color">
        
        <img src="/medias/logo.png" class="logo-img circle responsive-img">
        
        <div class="logo-name">码道诚公</div>
        <div class="logo-desc">
            
            Never really desperate, only the lost of the soul.
            
        </div>
    </div>

    

    <ul class="menu-list mobile-menu-list">
        
        <li class="m-nav-item">
	  
		<a href="/" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-home"></i>
			
			首页
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/tags" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-tags"></i>
			
			标签
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/categories" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-bookmark"></i>
			
			分类
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/archives" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-archive"></i>
			
			归档
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/about" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-user-circle"></i>
			
			关于
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/contact" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-comments"></i>
			
			留言板
		</a>
          
        </li>
        
        <li class="m-nav-item">
	  
		<a href="/friends" class="waves-effect waves-light">
			
			    <i class="fa-fw fas fa-address-book"></i>
			
			友情链接
		</a>
          
        </li>
        
        
    </ul>
</div>


        </div>

        
    </nav>

</header>

    



<div class="bg-cover pd-header post-cover" style="background-image: url('/medias/featureimages/18.jpg')">
    <div class="container" style="right: 0px;left: 0px;">
        <div class="row">
            <div class="col s12 m12 l12">
                <div class="brand">
                    <h1 class="description center-align post-title">PowerPlatform认证备考（3）—— Power Apps介绍</h1>
                </div>
            </div>
        </div>
    </div>
</div>




<main class="container content">

    
    <!-- 文章内容详情 -->
<div id="artDetail">
    <div class="card">
        <div class="card-content article-info">
            <div class="row tag-cate">
                <div class="col s7">
                    
                    <div class="article-tag">
                        
                            <a href="/tags/PowerPlatform%E8%AE%A4%E8%AF%81/">
                                <span class="chip bg-color">PowerPlatform认证</span>
                            </a>
                        
                    </div>
                    
                </div>
                <div class="col s5 right-align">
                    
                    <div class="post-cate">
                        <i class="fas fa-bookmark fa-fw icon-category"></i>
                        
                            <a href="/categories/PowerPlatform/" class="post-category">
                                PowerPlatform
                            </a>
                        
                    </div>
                    
                </div>
            </div>

            <div class="post-info">
                
                <div class="post-date info-break-policy">
                    <i class="far fa-calendar-minus fa-fw"></i>发布日期:&nbsp;&nbsp;
                    2020-11-13
                </div>
                

                

                
                <div class="info-break-policy">
                    <i class="far fa-file-word fa-fw"></i>文章字数:&nbsp;&nbsp;
                    3.6k
                </div>
                

                
                <div class="info-break-policy">
                    <i class="far fa-clock fa-fw"></i>阅读时长:&nbsp;&nbsp;
                    13 分
                </div>
                

                
            </div>
        </div>
        <hr class="clearfix">
        <div class="card-content article-card-content">
            <div id="articleContent">
                <p>Power Apps用于构建允许您对数据采取行动的应用程序。Power Apps非常适合替换纸质表单、传统解决方案或您和一些同事传递的电子表格。利用你已经拥有的技能和知识，你可以通过使用超过275个连接器来构建与现有数据交互的应用程序。这些应用程序一旦构建在Web原生Power Apps平台上，就可以在云中运行，并可以在各种平台上轻松共享和运行，包括个人电脑、笔记本电脑、平板电脑和手机。</p>
<p>在本模块中，您将：</p>
<ul>
<li>了解什么是Power Apps及其创造的商业价值</li>
<li>了解全球最大的机场之一如何使用Power Apps将其流程数字化</li>
<li>查看实际应用中的Power Apps并了解制作第一个应用程序的一些选项</li>
</ul>
<h2 id="什么是Power-Apps，它可以为您做什么"><a href="#什么是Power-Apps，它可以为您做什么" class="headerlink" title="什么是Power Apps，它可以为您做什么"></a>什么是Power Apps，它可以为您做什么</h2><p>您是否有想要现代化的低效或遗留业务流程？ 您是否还在使用纸甚至共享的Excel工作簿来传递信息？ 您是否希望能够通过PC或手机等不同设备执行这些业务流程？那么您就需要Power Apps。</p>
<p>Power Apps是用于构建应用程序的无代码/低代码平台，它基于类似于Excel工作簿中的公式（例如SUM和TEXT）的概念构建。 您可以使用Power Apps来构建简单的解决方案，例如车辆检查表和状态报告，或者用于购买流程和库存管理的复杂业务解决方案。如果您可以设想一个应用程序来解决业务问题，那么您可以使用现有技能来构建它。 尽管此模块是针对没有计算机科学和编码方面背景的商业用户而设计的，但Power Apps提供了高级功能，并为经验丰富的开发人员提供了轻松设计复杂应用程序的能力。</p>
<h3 id="在数据存在的地方处理数据"><a href="#在数据存在的地方处理数据" class="headerlink" title="在数据存在的地方处理数据"></a>在数据存在的地方处理数据</h3><p>在对基于纸张的流程进行现代化处理时，您的组织中可能有一些系统具有您可以利用的数据。有了Power Apps，你就有了选择。借助超过275个连接器，您可以使用基础数据服务和应用程序平台，Common Data Service或大量在线和本地数据源轻松连接到数据源。 一些常见的数据源包括：</p>
<ul>
<li>Common Data Service</li>
<li>SharePoint</li>
<li>Dynamics 365</li>
<li>SQL Server and Azure SQL</li>
<li>Office 365</li>
</ul>
<p>您不必仅选择一个数据源。 Power Apps轻松支持多个数据连接，使您可以将来自多个平台的数据整合到一个应用程序中。</p>
<h2 id="适用于不同场景的不同类型的Power-Apps"><a href="#适用于不同场景的不同类型的Power-Apps" class="headerlink" title="适用于不同场景的不同类型的Power Apps"></a>适用于不同场景的不同类型的Power Apps</h2><p>Power Apps可以创建三种类型的应用程序：画布，模型驱动和门户。每一种都适用于不同的场景和终端用户。</p>
<h3 id="画布应用"><a href="#画布应用" class="headerlink" title="画布应用"></a>画布应用</h3><p>当您想从空白画布上构建应用程序时，画布应用程序是一个不错的选择。 首先选择屏幕尺寸：平板电脑或移动设备，然后从其生成空白屏幕。 您可以通过添加数据源来与应用程序中的数据进行交互。 拖放各种控件，并通过编写Excel样式公式添加所需的功能。 画布应用程序在构建应用程序时为您提供了完全的灵活性。</p>
<p>以下是希思罗机场开发的移动画布应用程序的几个示例。</p>
<p><img src="/posts/62451831/mobile-canvas-apps.png" alt="Power Apps mobile display for Heathrow Airport Application"></p>
<h3 id="模型驱动应用"><a href="#模型驱动应用" class="headerlink" title="模型驱动应用"></a>模型驱动应用</h3><p>模型驱动的应用程序是从通用数据服务中的数据构建的。 Power Apps将为您构建外观精美，功能齐全的应用程序，以对这些数据进行操作并与之交互。 使用模型驱动的应用程序，无需担心选择应用程序的尺寸问题。 它是响应式的，这意味着您无需进行任何额外的工作，它就可以在手机或平板电脑上运行。 您可以在Common Data Service内部的数据层上定义关系，表单，视图，业务规则等，从而无需您亲自编写所有公式即可获得足够的控制权以获得业务结果。</p>
<p>以下是一个筹款活动捐款跟踪模型驱动的应用程序的示例。</p>
<p><img src="/posts/62451831/fundraiser.png" alt="Power Apps Dashboard"></p>
<h3 id="门户"><a href="#门户" class="headerlink" title="门户"></a>门户</h3><p>门户网站带来了无代码解决方案的强大功能，可用于构建面向外部的网站。 通过Power Apps界面，您可以构建一个匿名或经过身份验证的网站，该网站允许用户与Common Data Service中保存的数据进行交互。 构建这些丰富的交互式网站时，可以享受与您在构建应用程序时一样的拖放体验。</p>
<p><img src="/posts/62451831/portal.png" alt="External view of portal"></p>
<h3 id="无需代码即可将人工智能添加到您的应用"><a href="#无需代码即可将人工智能添加到您的应用" class="headerlink" title="无需代码即可将人工智能添加到您的应用"></a>无需代码即可将人工智能添加到您的应用</h3><p>在Power Apps之前，添加图像识别或预测模型等功能需要高级计算机知识。有代码要写，数据模型要设计和训练，还有一大堆复杂的逻辑。Power Apps通过提供一个基于向导的界面来构建和训练你的模型，使人工智能“大众化”。这样，无需编写一行代码或创建复杂的机器学习模型，Azure机器学习和认知服务就可以发挥其强大的功能。</p>
<p>即用型AI组件是名片读取器。 该组件会检查上传的照片或照片，以确定它是否是名片，然后提取相关信息。 无需配置。</p>
<p>名片读取器只是一个现成的示例，它基于基础的AI组件构建，您可以通过首先构建模型以其他方式进行部署。 在<a target="_blank" rel="noopener" href="https://make.powerapps.com/">https://make.PowerApps.com</a>上，向导将指导您构建和训练模型。当前，Power Apps中有四种可用的AI模型：</p>
<ul>
<li>Prediction - 这个模型根据以前的数据历史来预测某些事情是否会发生。更多细节将在下一节中介绍。</li>
<li>Form processor - 该模型从名片阅读器之类的图像中提取文本。</li>
<li>Object detector - 该模型从上传的图像或所拍摄的照片中识别出对象，然后提供存在的对象数量的计数。</li>
<li>Text classification - 该模型根据文本的含义对其进行分类，使得文本更容易分析。</li>
</ul>
<h4 id="预测模型"><a href="#预测模型" class="headerlink" title="预测模型"></a>预测模型</h4><p>AI Builder预测模型允许您创建一个模型，该模型可以根据历史数据预测是或否。 您可以通过提供包括是/否结果的历史数据来训练模型，然后由人工智能完成其余的工作。</p>
<p>您可以构建预测模型来解决业务问题，例如：</p>
<ul>
<li>潜在客户会成为真正的客户吗？</li>
<li>一个项目会盈利吗？</li>
<li>客户会根据活动而流失吗？</li>
</ul>
<p>如您所见，AI可以帮助您回答强大的业务问题，而无需编写任何代码。</p>
<h3 id="安全与管理"><a href="#安全与管理" class="headerlink" title="安全与管理"></a>安全与管理</h3><p>对于IT部门或负责治理的人员而言，有许多工具。 Power Apps具有大量的安全性，治理和报告功能，可让您管理Power Apps。 此外，Power Apps不会以任何方式规避安全性。 用户无法构建应用来绕过当前的访问权限。 要管理Power Apps的安全性，可以访问<a target="_blank" rel="noopener" href="https://admin.powerplatform.microsoft.com/">https://admin.powerplatform.microsoft.com/</a> 。在这里，您将找到用于创建和管理环境，监视许可证，使用Data Loss Prevention策略以及管理Common Data Service数据集成项目的选项。 这使您可以从一个地方管理整个租户中的Power Apps。</p>
<p>Power Apps还为应用程序创建者、管理员和开发人员提供了自己的一套PowerShell cmdlet，允许您自动化许多管理职责。PowerShell cmdlet的一个常见用例是自动化租户中所有应用程序的发现和权限管理，使您能够更好地理解和管理遍布整个公司的应用程序。</p>
<p>此外，在Power Automate学习模块中，您将看到Power Automate能够自动执行这些任务。您可以下载Center of Excellence starter kit，这是一组组件或工具的集合，旨在帮助您开始制定采用和支持Power Platform的策略，重点是Power Apps和Power Automate。</p>
<h3 id="推动业务价值"><a href="#推动业务价值" class="headerlink" title="推动业务价值"></a>推动业务价值</h3><p>到目前为止，您已经了解到Power Apps不需要像C＃这样的传统“代码”，从而降低了技术门槛。 如果您知道自己的业务流程，就可以开始编写第一个应用程序。 对于许多企业而言，这意味着应用不是来自IT，而是直接来自一线业务用户。 如今，财务可以像构建自己的Excel工作簿一样，来构建自己的Power Apps。</p>
<p>通过将多个数据源组合到一个应用程序中，Power Apps甚至允许最入门级的用户都减少文书工作，提高流程效率并确保单个事实来源。 用户可以轻松构建应用程序，而又不会超出IT部门设置的保护范围。 这样就可以进行前所未有的创新和数字化，消除了积压的应用程序，繁琐的纸质流程等。</p>
<p>在下一个单元中，您将了解希思罗机场如何构建30个应用程序，这些应用程序消除了75,000页的文书工作，减少了近1,000个小时的数据输入，并为机场节省了数十万美元。</p>
<h2 id="客户案例研究-希思罗机场"><a href="#客户案例研究-希思罗机场" class="headerlink" title="客户案例研究-希思罗机场"></a>客户案例研究-希思罗机场</h2><p>希思罗机场是世界上最繁忙的机场之一，在复杂性和交通方面都接近了一个小城市。每天工作人员超过76,000人，来往旅客超过200,000人，因此迫切需要不断优化运营。 实现此目标的一种方法是通过流程数字化， 其中包括为所有员工采用微软Office 365，以及后来使用的Power Apps。</p>
<p>很容易将成千上万个流程转换为应用程序。 这些过程甚至需要数百名开发人员和多年的工作才能取得成功。 希思罗机场拥有强大的IT部门，但他们没有数百名额外的开发人员可以开始数字化流程。 ？</p>
<p>在希思罗机场，他们通过授权前线工作人员构建应用程序和解决问题来着手数字化转型的过程。 这场革命始于Samit Saini，他决定展示Power Apps可以实现的目标。 Saini的业务变更经理要求对Office 365的价值进行进一步研究，这使Saini走向了Power Apps。 Saini开始开发一款应用程序，该应用程序将安全信息翻译成多种不同的语言。 以前，此信息保存在安全检查点的一本书中，Saini着手改善这种体验。 从第一个应用程序的成功开始，现在已经有了几十个应用程序，以及创建和实施新应用程序的官方流程。</p>
<p>在希思罗机场的完整案例研究中，您将学到使一线工作人员能够使用Power Apps构建应用程序所创造的巨大业务价值。 您还将阅读有关它们已建立的支持结构的信息。 这些结构将帮助更多的人构建自己的应用程序，并避免重复工作。最后，您将大致了解这些应用程序所带来的巨大的工作减少和成本节约。</p>
<h2 id="Power-Apps实战"><a href="#Power-Apps实战" class="headerlink" title="Power Apps实战"></a>Power Apps实战</h2><p>现在，您已经了解了Power Apps以及希思罗机场如何利用此功能强大的应用程序，该视频将帮助您入门。 该视频显示了一个示例应用程序，然后向您展示了如何根据现有数据或模板创建第一个应用程序。</p>
<p><a target="_blank" rel="noopener" href="https://docs.microsoft.com/zh-cn/learn/modules/introduction-power-apps/4-power-apps-action">https://docs.microsoft.com/zh-cn/learn/modules/introduction-power-apps/4-power-apps-action</a></p>
<h2 id="Knowledge-check"><a href="#Knowledge-check" class="headerlink" title="Knowledge check"></a>Knowledge check</h2><ol>
<li><p>You want to build a mobile app that allows you complete control over the user experience and design. What type of Power Apps app should you build?</p>
<ul>
<li><p>A Model-driven app</p>
</li>
<li><p>A Portal app</p>
</li>
<li><p>A Canvas app</p>
<p>【Correct.】 With Canvas apps, you start with a blank canvas choosing your type of mobile or tablet. Then you can design the app to meet your “pixel perfect” design.</p>
</li>
</ul>
</li>
<li><p>Your projects requirements call for the ability to take a picture of a part and identify which model it is. You are not a data scientist or developer, how can you add this to your app?</p>
<ul>
<li><p>Train and use an Object Detection model in your app with AI Builder.</p>
<p>【Correct.】 Power Apps makes available to you the ability to use artificial intelligence without writing code. This allows you to do Form Processing, Object Detection, Prediction, and Text Classification all powered by Azure services.</p>
</li>
<li><p>This is not possible.</p>
</li>
<li><p>Add a camera control to your app.</p>
</li>
</ul>
</li>
<li><p>How can data sources be used with Power Apps Canvas apps?</p>
<ul>
<li><p>Power Apps can only use its internal data sources.</p>
</li>
<li><p>Power Apps uses only external data sources and does not have an internal data source.</p>
</li>
<li><p>Power Apps can use multiple internal and external data sources in the same app.</p>
<p>【Correct.】 Power Apps allows you complete control of which data sources you use in your app. There are over 270 data connectors available, and the ability to build a customer connector if one does not exist.</p>
</li>
</ul>
</li>
</ol>
<h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>Microsoft Power Apps允许任何技术水平的用户改善业务流程。 这些应用是使用您现有的技能和知识构建的，而无需编写传统的托管代码。这些应用程序能够为不同的设备创建高度灵活的解决方案，并使用来自多种来源的数据。</p>
<p>现在，您已经阅读了本模块，您应该能够：</p>
<ul>
<li>解释画布应用，模型驱动应用和门户应用之间的区别</li>
<li>设计可从各种数据源中提取数据并包含人工智能的应用程序</li>
<li>使用“从数据开始或从模板开始”构建应用，以更熟悉可能发生的情况</li>
</ul>
<h3 id="关键点"><a href="#关键点" class="headerlink" title="关键点"></a>关键点</h3><ol>
<li>Power Apps是一个无代码/低代码平台，可让您利用自己的业务知识和现有技能来构建应用程序。</li>
<li>Power Apps提供了不同的产品来满足您的需求。 画布应用程序，模型驱动的应用程序和门户网站都有各自独特的属性。</li>
<li>Power Apps可帮助您构建和部署可在任何设备上跨Web和移动，嵌入式或独立运行的自定义应用程序。</li>
<li>您可以构建遵循业务流程的应用程序，而不是使业务流程遵循软件。</li>
</ol>
<h3 id="资源"><a href="#资源" class="headerlink" title="资源"></a>资源</h3><h4 id="Power-Apps"><a href="#Power-Apps" class="headerlink" title="Power Apps"></a>Power Apps</h4><ul>
<li><a target="_blank" rel="noopener" href="https://powerapps.microsoft.com/">Power Apps</a></li>
<li><a target="_blank" rel="noopener" href="https://powerapps.microsoft.com/blog/microsoft-powerapps-learning-resources/">Power Apps Resources</a></li>
</ul>
<h4 id="AI-Builder"><a href="#AI-Builder" class="headerlink" title="AI Builder"></a>AI Builder</h4><ul>
<li><a target="_blank" rel="noopener" href="https://powerapps.microsoft.com/ai-builder/">AI Builder</a></li>
<li><a target="_blank" rel="noopener" href="https://docs.microsoft.com/en-us/ai-builder/overview">AI Builder Documentation</a></li>
</ul>
<h4 id="Portals"><a href="#Portals" class="headerlink" title="Portals"></a>Portals</h4><ul>
<li><a target="_blank" rel="noopener" href="https://powerapps.microsoft.com/portals/">Portals</a></li>
<li><a target="_blank" rel="noopener" href="https://docs.microsoft.com/en-us/powerapps/maker/portals/overview">Portals Documentation</a></li>
</ul>

            </div>
            <hr/>

            

    <div class="reprint" id="reprint-statement">
        
            <div class="reprint__author">
                <span class="reprint-meta" style="font-weight: bold;">
                    <i class="fas fa-user">
                        文章作者:
                    </i>
                </span>
                <span class="reprint-info">
                    <a href="/about" rel="external nofollow noreferrer">Guo Yaxiang</a>
                </span>
            </div>
            <div class="reprint__type">
                <span class="reprint-meta" style="font-weight: bold;">
                    <i class="fas fa-link">
                        文章链接:
                    </i>
                </span>
                <span class="reprint-info">
                    <a href="https://www.codinghonest.space/posts/62451831.html">https://www.codinghonest.space/posts/62451831.html</a>
                </span>
            </div>
            <div class="reprint__notice">
                <span class="reprint-meta" style="font-weight: bold;">
                    <i class="fas fa-copyright">
                        版权声明:
                    </i>
                </span>
                <span class="reprint-info">
                    本博客所有文章除特別声明外，均采用
                    <a href="https://creativecommons.org/licenses/by/4.0/deed.zh" rel="external nofollow noreferrer" target="_blank">CC BY 4.0</a>
                    许可协议。转载请注明来源
                    <a href="/about" target="_blank">Guo Yaxiang</a>
                    !
                </span>
            </div>
        
    </div>

    <script async defer>
      document.addEventListener("copy", function (e) {
        let toastHTML = '<span>复制成功，请遵循本文的转载规则</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">查看</a>';
        M.toast({html: toastHTML})
      });

      function navToReprintStatement() {
        $("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800);
      }
    </script>



            <div class="tag_share" style="display: block;">
                <div class="post-meta__tag-list" style="display: inline-block;">
                    
                        <div class="article-tag">
                            
                                <a href="/tags/PowerPlatform%E8%AE%A4%E8%AF%81/">
                                    <span class="chip bg-color">PowerPlatform认证</span>
                                </a>
                            
                        </div>
                    
                </div>
                <div class="post_share" style="zoom: 80%; width: fit-content; display: inline-block; float: right; margin: -0.15rem 0;">
                    <link rel="stylesheet" type="text/css" href="/libs/share/css/share.min.css">
<div id="article-share">

    
    <div class="social-share" data-sites="twitter,facebook,google,qq,qzone,wechat,weibo,douban,linkedin" data-wechat-qrcode-helper="<p>微信扫一扫即可分享！</p>"></div>
    <script src="/libs/share/js/social-share.min.js"></script>
    

    

</div>

                </div>
            </div>
            
                <style>
    #reward {
        margin: 40px 0;
        text-align: center;
    }

    #reward .reward-link {
        font-size: 1.4rem;
        line-height: 38px;
    }

    #reward .btn-floating:hover {
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 5px 15px rgba(0, 0, 0, 0.2);
    }

    #rewardModal {
        width: 320px;
        height: 350px;
    }

    #rewardModal .reward-title {
        margin: 15px auto;
        padding-bottom: 5px;
    }

    #rewardModal .modal-content {
        padding: 10px;
    }

    #rewardModal .close {
        position: absolute;
        right: 15px;
        top: 15px;
        color: rgba(0, 0, 0, 0.5);
        font-size: 1.3rem;
        line-height: 20px;
        cursor: pointer;
    }

    #rewardModal .close:hover {
        color: #ef5350;
        transform: scale(1.3);
        -moz-transform:scale(1.3);
        -webkit-transform:scale(1.3);
        -o-transform:scale(1.3);
    }

    #rewardModal .reward-tabs {
        margin: 0 auto;
        width: 210px;
    }

    .reward-tabs .tabs {
        height: 38px;
        margin: 10px auto;
        padding-left: 0;
    }

    .reward-content ul {
        padding-left: 0 !important;
    }

    .reward-tabs .tabs .tab {
        height: 38px;
        line-height: 38px;
    }

    .reward-tabs .tab a {
        color: #fff;
        background-color: #ccc;
    }

    .reward-tabs .tab a:hover {
        background-color: #ccc;
        color: #fff;
    }

    .reward-tabs .wechat-tab .active {
        color: #fff !important;
        background-color: #22AB38 !important;
    }

    .reward-tabs .alipay-tab .active {
        color: #fff !important;
        background-color: #019FE8 !important;
    }

    .reward-tabs .reward-img {
        width: 210px;
        height: 210px;
    }
</style>

<div id="reward">
    <a href="#rewardModal" class="reward-link modal-trigger btn-floating btn-medium waves-effect waves-light red">赏</a>

    <!-- Modal Structure -->
    <div id="rewardModal" class="modal">
        <div class="modal-content">
            <a class="close modal-close"><i class="fas fa-times"></i></a>
            <h4 class="reward-title">你的赏识是我前进的动力</h4>
            <div class="reward-content">
                <div class="reward-tabs">
                    <ul class="tabs row">
                        <li class="tab col s6 alipay-tab waves-effect waves-light"><a href="#alipay">支付宝</a></li>
                        <li class="tab col s6 wechat-tab waves-effect waves-light"><a href="#wechat">微 信</a></li>
                    </ul>
                    <div id="alipay">
                        <img src="/medias/reward/alipay.png" class="reward-img" alt="支付宝打赏二维码">
                    </div>
                    <div id="wechat">
                        <img src="/medias/reward/wechat.png" class="reward-img" alt="微信打赏二维码">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
    $(function () {
        $('.tabs').tabs();
    });
</script>

            
        </div>
    </div>

    

    

    

    

    

    
        <style>
    .mvaline-card {
        margin: 1.5rem auto;
    }

    .mvaline-card .card-content {
        padding: 20px 20px 5px 20px;
    }
</style>

<div class="card mvaline-card" data-aos="fade-up">
    <div class="comment_headling" style="font-size: 20px; font-weight: 700; position: relative; padding-left: 20px; top: 15px; padding-bottom: 5px;">
        <i class="fas fa-comments fa-fw" aria-hidden="true"></i>
        <span>评论</span>
    </div>
    <div id="mvcomments" class="card-content" style="display: grid">
    </div>
</div>

<script src="/libs/minivaline/MiniValine.js"></script>
<script>
    new MiniValine({
        el: '#mvcomments',
        appId: 'oqAo7rCWejwTqHjGC2APTVDX-MdYXbMMI',
        appKey: 'pfyY919tO7iJaDm7lFmvh5Wp',
        mode: 'DesertsP',
        placeholder: 'Write a Comment',
        pathname: window.location.pathname,
        lang: '',
        adminEmailMd5: '8BBC105436DAAF8C803841C8FD13CD0C',
        tagMeta: ["管理员", "小伙伴", "访客"],
        master: ["8BBC105436DAAF8C803841C8FD13CD0C"],
        friends: ["FA21C7921CD42FE9523E957870873F64", "586BAB41BB5692877F7714DFE4947DEC"],
        math: true,
        md: true,
        enableQQ: false,
        NoRecordIP: false,
        visitor: true,
        maxNest: 6,
        pageSize: 6,
        serverURLs: '',
        emoticonUrl: ["https://cdn.jsdelivr.net/npm/alus@latest", "https://cdn.jsdelivr.net/gh/MiniValine/qq@latest", "https://cdn.jsdelivr.net/gh/MiniValine/Bilibilis@latest", "https://cdn.jsdelivr.net/gh/MiniValine/tieba@latest", "https://cdn.jsdelivr.net/gh/MiniValine/twemoji@latest", "https://cdn.jsdelivr.net/gh/MiniValine/weibo@latest"],
    });
</script>

    

    

    

<article id="prenext-posts" class="prev-next articles">
    <div class="row article-row">
        
        <div class="article col s12 m6" data-aos="fade-up">
            <div class="article-badge left-badge text-color">
                <i class="fas fa-chevron-left"></i>&nbsp;上一篇</div>
            <div class="card">
                <a href="/posts/a24a8abd.html">
                    <div class="card-image">
                        
                        
                        <img src="/medias/featureimages/18.jpg" class="responsive-img" alt="PowerPlatform认证备考（4）—— 如何创建画布应用">
                        
                        <span class="card-title">PowerPlatform认证备考（4）—— 如何创建画布应用</span>
                    </div>
                </a>
                <div class="card-content article-content">
                    <div class="summary block-with-text">
                        
                            微软PowerPlatform认证考试的相关备考知识.
                        
                    </div>
                    <div class="publish-info">
                        <span class="publish-date">
                            <i class="far fa-clock fa-fw icon-date"></i>2020-11-14
                        </span>
                        <span class="publish-author">
                            
                            <i class="fas fa-bookmark fa-fw icon-category"></i>
                            
                            <a href="/categories/PowerPlatform/" class="post-category">
                                    PowerPlatform
                                </a>
                            
                            
                        </span>
                    </div>
                </div>
                
                <div class="card-action article-tags">
                    
                    <a href="/tags/PowerPlatform%E8%AE%A4%E8%AF%81/">
                        <span class="chip bg-color">PowerPlatform认证</span>
                    </a>
                    
                </div>
                
            </div>
        </div>
        
        
        <div class="article col s12 m6" data-aos="fade-up">
            <div class="article-badge right-badge text-color">
                下一篇&nbsp;<i class="fas fa-chevron-right"></i>
            </div>
            <div class="card">
                <a href="/posts/ed1580f3.html">
                    <div class="card-image">
                        
                        
                        <img src="/medias/featureimages/12.jpg" class="responsive-img" alt="PowerPlatform认证备考（2）—— Common Data Service介绍">
                        
                        <span class="card-title">PowerPlatform认证备考（2）—— Common Data Service介绍</span>
                    </div>
                </a>
                <div class="card-content article-content">
                    <div class="summary block-with-text">
                        
                            微软PowerPlatform认证考试的相关备考知识.
                        
                    </div>
                    <div class="publish-info">
                            <span class="publish-date">
                                <i class="far fa-clock fa-fw icon-date"></i>2020-11-13
                            </span>
                        <span class="publish-author">
                            
                            <i class="fas fa-bookmark fa-fw icon-category"></i>
                            
                            <a href="/categories/PowerPlatform/" class="post-category">
                                    PowerPlatform
                                </a>
                            
                            
                        </span>
                    </div>
                </div>
                
                <div class="card-action article-tags">
                    
                    <a href="/tags/PowerPlatform%E8%AE%A4%E8%AF%81/">
                        <span class="chip bg-color">PowerPlatform认证</span>
                    </a>
                    
                </div>
                
            </div>
        </div>
        
    </div>
</article>

</div>


<script>
    $('#articleContent').on('copy', function (e) {
        // IE8 or earlier browser is 'undefined'
        if (typeof window.getSelection === 'undefined') return;

        var selection = window.getSelection();
        // if the selection is short let's not annoy our users.
        if (('' + selection).length < Number.parseInt('120')) {
            return;
        }

        // create a div outside of the visible area and fill it with the selected text.
        var bodyElement = document.getElementsByTagName('body')[0];
        var newdiv = document.createElement('div');
        newdiv.style.position = 'absolute';
        newdiv.style.left = '-99999px';
        bodyElement.appendChild(newdiv);
        newdiv.appendChild(selection.getRangeAt(0).cloneContents());

        // we need a <pre> tag workaround.
        // otherwise the text inside "pre" loses all the line breaks!
        if (selection.getRangeAt(0).commonAncestorContainer.nodeName === 'PRE') {
            newdiv.innerHTML = "<pre>" + newdiv.innerHTML + "</pre>";
        }

        var url = document.location.href;
        newdiv.innerHTML += '<br />'
            + '来源: 码道诚公<br />'
            + '文章作者: Guo Yaxiang<br />'
            + '文章链接: <a href="' + url + '">' + url + '</a><br />'
            + '本文章著作权归作者所有，任何形式的转载都请注明出处。';

        selection.selectAllChildren(newdiv);
        window.setTimeout(function () {bodyElement.removeChild(newdiv);}, 200);
    });
</script>


<!-- 代码块功能依赖 -->
<script type="text/javascript" src="/libs/codeBlock/codeBlockFuction.js"></script>

<!-- 代码语言 -->

<script type="text/javascript" src="/libs/codeBlock/codeLang.js"></script>


<!-- 代码块复制 -->

<script type="text/javascript" src="/libs/codeBlock/codeCopy.js"></script>


<!-- 代码块收缩 -->

<script type="text/javascript" src="/libs/codeBlock/codeShrink.js"></script>


<!-- 代码块折行 -->

<style type="text/css">
code[class*="language-"], pre[class*="language-"] { white-space: pre !important; }
</style>


    

</main>




    <footer class="page-footer bg-color">
    
        <link rel="stylesheet" href="/libs/aplayer/APlayer.min.css">
<style>
    .aplayer .aplayer-lrc p {
        
        display: none;
        
        font-size: 12px;
        font-weight: 700;
        line-height: 16px !important;
    }

    .aplayer .aplayer-lrc p.aplayer-lrc-current {
        
        display: none;
        
        font-size: 15px;
        color: #42b983;
    }

    
    .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body {
        left: -66px !important;
    }

    .aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover {
        left: 0px !important;
    }

    
</style>
<div class="">
    
    <div class="row">
        <meting-js class="col l8 offset-l2 m10 offset-m1 s12"
                   server="netease"
                   type="playlist"
                   id="503838841"
                   fixed='true'
                   autoplay='false'
                   theme='#42b983'
                   loop='all'
                   order='random'
                   preload='auto'
                   volume='0.7'
                   list-folded='true'
        >
        </meting-js>
    </div>
</div>

<script src="/libs/aplayer/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js"></script>

    
    <div class="container row center-align" style="margin-bottom: 0px !important;">
        <div class="col s12 m8 l8 copy-right">
            Copyright&nbsp;&copy;
            
                <span id="year">2020-2021</span>
            
            <span id="year">2020</span>
            <a href="/about" target="_blank">Guo Yaxiang</a>
            |&nbsp;Powered by&nbsp;<a href="https://hexo.io/" target="_blank">Hexo</a>
            |&nbsp;Theme&nbsp;<a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">Matery</a>
            <br>
            
            
            
            
            
            <br>
            
            <br>
            
        </div>
        <div class="col s12 m4 l4 social-link ">
    <a href="https://github.com/GuoYaxiang" class="tooltipped" target="_blank" data-tooltip="访问我的GitHub" data-position="top" data-delay="50">
        <i class="fab fa-github"></i>
    </a>



    <a href="mailto:YXGyxg112358@163.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我" data-position="top" data-delay="50">
        <i class="fas fa-envelope-open"></i>
    </a>







    <a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=1431800679" class="tooltipped" target="_blank" data-tooltip="QQ联系我: 1431800679" data-position="top" data-delay="50">
        <i class="fab fa-qq"></i>
    </a>





    <a href="https://www.zhihu.com/people/guo-ya-xiang" class="tooltipped" target="_blank" data-tooltip="关注我的知乎: https://www.zhihu.com/people/guo-ya-xiang" data-position="top" data-delay="50">
        <i class="fab fa-zhihu1">知</i>
    </a>



    <a href="/atom.xml" class="tooltipped" target="_blank" data-tooltip="RSS 订阅" data-position="top" data-delay="50">
        <i class="fas fa-rss"></i>
    </a>

</div>
    </div>
</footer>

<div class="progress-bar"></div>


    <!-- 搜索遮罩框 -->
<div id="searchModal" class="modal">
    <div class="modal-content">
        <div class="search-header">
            <span class="title"><i class="fas fa-search"></i>&nbsp;&nbsp;搜索</span>
            <input type="search" id="searchInput" name="s" placeholder="请输入搜索的关键字"
                   class="search-input">
        </div>
        <div id="searchResult"></div>
    </div>
</div>

<script src="/js/search.js"></script>
<script type="text/javascript">
$(function () {
    searchFunc('/search.xml', 'searchInput', 'searchResult');
});
</script>

    <!-- 回到顶部按钮 -->
<div id="backTop" class="top-scroll">
    <a class="btn-floating btn-large waves-effect waves-light" href="#!">
        <i class="fas fa-arrow-up"></i>
    </a>
</div>


    <script src="/libs/materialize/materialize.min.js"></script>
    <script src="/libs/masonry/masonry.pkgd.min.js"></script>
    <script src="/libs/aos/aos.js"></script>
    <script src="/libs/scrollprogress/scrollProgress.min.js"></script>
    <script src="/libs/lightGallery/js/lightgallery-all.min.js"></script>
    <script src="/js/matery.js"></script>

    <!-- Baidu Analytics -->

    <!-- Baidu Push -->

<script>
    (function () {
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        } else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
</script>

    
    <script src="/libs/others/clicklove.js" async="async"></script>
    
    

    
        <script src="//code.tidio.co/zgiqinzrat1rzwxseqhr2pnzsp2a4rjo.js"></script>
        <script>
            $(document).ready(function () {
                setInterval(change_Tidio, 50);
                function change_Tidio() {
                    var tidio=$("#tidio-chat iframe");
                    if(tidio.css("display")=="block"&& $(window).width()>977 ){
                        document.getElementById("tidio-chat-iframe").style.bottom= ($("div#backTop.top-scroll").css("display")=="none" &&$(window).width()>977)>0? "-40px" : ($("div.toc-title").length&&$(window).width()>977)>0?"85px":"20px";
                        document.getElementById("tidio-chat-iframe").style.right="-15px";
                        document.getElementById("tidio-chat-iframe").style.height=parseInt(tidio.css("height"))>=520?"520px":tidio.css("height");
                        document.getElementById("tidio-chat-iframe").style.zIndex="997";
                    }
                    else if(tidio.css("display")=="block"&&$(window).width()>601 &&$(window).width()<992 ){
                        document.getElementById("tidio-chat-iframe").style.bottom= ($("div#backTop.top-scroll").css("display")=="none" && 601< $(window).width()<992)>0? "-40px":"20px" ;
                        document.getElementById("tidio-chat-iframe").style.right="-15px";
                        document.getElementById("tidio-chat-iframe").style.zIndex="997";
                    }
                    else if(tidio.css("display")=="block"&&$(window).width()<601 && parseInt(tidio.css("height"))<230){
                        document.getElementById("tidio-chat-iframe").style.bottom= ($("div#backTop.top-scroll").css("display")=="none" && $(window).width()<601)>0? "-10px":"45px" ;
                        document.getElementById("tidio-chat-iframe").style.zIndex="997";
                    }
                    if( tidio.css("display")=="block"&&$(window).width()<601 && parseInt(tidio.css("height"))>=230){
                        document.getElementById("tidio-chat-iframe").style.zIndex="998";
                    }
                }
            });
        </script>
    

    

    

    

    

    
    <script src="/libs/instantpage/instantpage.js" type="module"></script>
    

</body>

</html>
